Electronic devices, such as mobile phones and personal digital assistants (PDA's), often contain firmware and application software that are either provided by the manufacturers of the electronic devices, by telecommunication carriers, or by third parties. These firmware and application software often contain software bugs. New versions of the firmware and software are periodically released to fix the bugs or to introduce new features, or both.
Electronic devices often access servers to retrieve updating information that may be needed to update firmware and/or software. Sometimes thousands of mobile handsets simultaneously access the servers, and as a result some may not be able to connect. This creates a need for wireless networks to determine if individual mobile handsets can be updated, and a need to facilitate a download of updating information by mobile handsets.
Creating efficient and compact packages of updating information for firmware/software updates is a big challenge. Additionally, creating packages where difference information is expressed using a specialized and efficient instruction set, is also a challenge. Designing an update agent that can process these packages efficiently on the mobile handset may also be a challenge. Such solutions that can work in many wireless networks may be problematic to design.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention.